home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / utils / fdate93a.zip / HOLIDAYS.BAT < prev    next >
DOS Batch File  |  1996-04-19  |  7KB  |  203 lines

  1.  @echo off
  2.  CLS
  3.  :: HOLIDAYS.BAT
  4.  :: if user specifies a year as parm1, use it
  5.  :: revised 1994 Nov 06 to use new /J parm in version 8.8
  6.  :: revised 1996 Jan 26 to correct a mis-spelling 
  7.  
  8.  set year=%1
  9.  if not (%year%)==() goto GetYrEnd
  10.  
  11.  :: get name of this batch file, in upper case
  12.  FDATE /fupper /q%0 /v
  13.  
  14.  :: show title between two lines of bars
  15.  fdate /fe /J"L─79" /P
  16.  fdate /fe /J"C 79" /P"%fdate%"
  17.  fdate /fe /J"L─79" /P
  18.  
  19.  :GetYr
  20.  echo.
  21.  echo Please enter the year for which you want holidays calculated,
  22.  FDATE /fget /q"or press ENTER for current year > " /vyear
  23.  if not (%year%)==() goto GetYrEnd
  24.  
  25.  :: get current year
  26.  Fdate /Ff /At /Occyy /vyear
  27.  
  28.  :GetYrEnd
  29.  
  30.  :: pad year to left with zeroes, to make sure it is 4 bytes long
  31.  Fdate /Fe /P%year%  /JR04 /vyear
  32.  
  33.  echo.
  34.  :: check for validity of year parm (%1)
  35.  Fdate /Fv /A01-01-%year% >nul
  36.  if errorlevel 1 echo Value [%year%] is not a valid year.
  37.  if errorlevel 1 goto Endit
  38.  
  39.  :: --------------------------------------------------------
  40.  :: Determine if year is a leapyear
  41.  :: --------------------------------------------------------
  42.  Fdate /Ff /A01-01-%year% /Oly /vLY
  43.  
  44.  cls
  45.  echo ───────────────────────────────────────────────────────────────────────────────
  46.  if (%LY%)==(0) ECHO                   EVENTS IN %YEAR%
  47.  if (%LY%)==(1) ECHO                   EVENTS IN %YEAR%         Note: %year% is a leap year
  48.  ECHO To print the calendar, press SHIFT+PRINTSCREEN to print each screen.
  49.  echo ───────────────────────────────────────────────────────────────────────────────
  50.  Fdate /Fe /J"L.50" /Vtitle /P"New Year's Day"
  51.  Fdate /Ff   /A01-01-%year% /P"%title% "
  52.  
  53.  Fdate /Fe /J"L.50" /Vtitle /P"Epiphany"
  54.  Fdate /Ff  /A01-06-%year%  /P"%title% "
  55.  
  56.  Fdate /Fe /J"L.50" /Vtitle /P"Martin Luther King, Jr. Day"
  57.  Fdate /Fw /D2 /N3 /A01-01-%year% /P"%title% "
  58.  
  59.  :: note use of CENTER justification in next line
  60.  Fdate /Ff /A02-01-%year% /J"C 79" /P"Note that " /S" begins Black History Month"
  61.  
  62.  Fdate /Fe /J"L.50" /Vtitle        /P"Valentine's day"
  63.  Fdate /Ff          /A02-14-%year% /P"%title% "
  64.  
  65.  Fdate /Fe /J"L.50" /Vtitle        /P"Presidents' Day"
  66.  Fdate /Fw /D2 /N3  /A02-01-%year% /P"%title% "
  67.  
  68.  Fdate /Fe /J"L.50" /Vtitle        /P"St. Patrick's Day"
  69.  Fdate /Ff          /A03-17-%year% /P"%title% "
  70.  
  71.  if (%LY%)==(1) Fdate /Fe /J"L.50" /Vtitle  /P"Sadie Hawkins Day"
  72.  if (%LY%)==(1) Fdate /Ff /A02-29-%year%    /P"%title% "
  73.  
  74.  :: ========== begin: DATES TIED TO EASTER==============================
  75.  set easter=
  76.  if (%year%)==(1991) set easter=03-31-%year%
  77.  if (%year%)==(1992) set easter=04-19-%year%
  78.  if (%year%)==(1993) set easter=04-11-%year%
  79.  if (%year%)==(1994) set easter=04-03-%year%
  80.  if (%year%)==(1995) set easter=04-16-%year%
  81.  if (%year%)==(1996) set easter=04-07-%year%
  82.  if (%year%)==(1997) set easter=03-30-%year%
  83.  if (%year%)==(1998) set easter=04-12-%year%
  84.  if (%year%)==(1999) set easter=04-04-%year%
  85.  if (%year%)==(2000) set easter=04-23-%year%
  86.  if (%year%)==(2001) set easter=04-15-%year%
  87.  if (%easter%)==() goto unknown
  88.  echo.
  89.  Fdate /Fe /J"L.50" /Vtitle  /P"Mardi Gras (Shrove Tuesday)"
  90.  Fdate /Fsub /N47 /A%easter% /P"%title% "
  91.  
  92.  Fdate /Fe /J"L.50" /Vtitle  /P"Ash Wednesday (Lent begins)"
  93.  Fdate /Fsub /N46 /A%easter% /P"%title% "
  94.  
  95.  Fdate /Fe /J"L.50" /Vtitle  /P"Palm Sunday"
  96.  Fdate /Fsub /N7  /A%easter% /P"%title% "
  97.  
  98.  Fdate /Fe /J"L.50" /Vtitle  /P"Good Friday"
  99.  Fdate /Fsub /N2  /A%easter% /P"%title% "
  100.  
  101.  Fdate /Fe /J"L.50" /Vtitle  /P"Easter"
  102.  Fdate /Ff        /A%easter% /P"%title% "
  103.  
  104.  :unknown
  105.  :: ==========    end: DATES TIED TO EASTER==============================
  106.  
  107.  echo ───────────────────────────────────────────────────────────────────────────────
  108.  PAUSE
  109.  CLS
  110.  
  111.  Fdate /Fe /J"L.50" /Vtitle        /P"Secretary's Day"
  112.  Fdate /Fw /D4 /N4  /A04-01-%year% /P"%title% "
  113.  
  114.  Fdate /Fe /J"L.50" /Vtitle        /P"Cinco de Mayo (Mexico)"
  115.  Fdate /Ff          /A05-05-%year% /P"%title% "
  116.  
  117.  Fdate /Fe /J"L.50" /Vtitle        /P"Mother's Day"
  118.  Fdate /Fw /D1 /N2  /A05-01-%year% /P"%title% "
  119.  
  120.  Fdate /Fe /J"L.50" /Vtitle        /P"Victoria Day (Canada)"
  121.  Fdate /Fw /D2 /N-1 /A05-24-%year% /P"%title% "
  122.  
  123.  Fdate /Fe /J"L.50" /Vtitle        /P"Memorial Day (observed)"
  124.  Fdate /FW /D2 /N-1 /A05-31-%year% /P"%title% "
  125.  
  126.  Fdate /Fe /J"L.50" /Vtitle                        /P"Ascension Day"
  127.  if not (%easter%)==() Fdate /Fadd /N39 /A%easter% /P"%title% "
  128.  
  129.  Fdate /Fe /J"L.50" /Vtitle                        /P"Pentecost"
  130.  if not (%easter%)==() Fdate /Fadd /N49 /A%easter% /P"%title% "
  131.  
  132.  if not (%easter%)==() echo.
  133.  
  134.  Fdate /Fe /J"L.50" /Vtitle  /P"Flag Day"
  135.  Fdate /Ff /A06-14-%year%    /P"%title% "
  136.  
  137.  :: ----- anniversary of Bloom's Day, June 16, 1904 ------------------
  138.  :: Here's a way to show an anniversary or event that you want to note.
  139.  :: Thanks to L. Schliesser for the algorithm.
  140.  :: ------------------------------------------------------------------
  141.  Fdate /F#dif /A%year% /B1904 /vann
  142.  
  143.  Fdate /Fe /J"L.50" /Vtitle       /P"Bloom's Day (%ann%th anniversary)"
  144.  Fdate /Ff /A06-16-%year%         /P"%title% "
  145.  SET ann=
  146.  :: ---------------end bloom's day --------------------------------------
  147.  
  148.  Fdate /Fe /J"L.50" /Vtitle      /P"Father's Day"
  149.  Fdate /Ff /A07-01-%year%        /P"%title% "
  150.  
  151.  Fdate /Fe /J"L.50" /Vtitle      /P"Independence Day (USA)"
  152.  Fdate /Ff /A07-04-%year%        /P"%title% "
  153.  
  154.  Fdate /Fe /J"L.50" /Vtitle      /P"Bastille Day (France)"
  155.  Fdate /Ff /A07-14-%year%        /P"%title% "
  156.  
  157.  :: echo ─────────────────────────────────────────────────────────────────────── ────────
  158.  :: PAUSE
  159.  :: CLS
  160.  
  161.  Fdate /Fe /J"L.50" /Vtitle       /P"Labor Day"
  162.  Fdate /Fw /D2 /N1 /A09-01-%year% /P"%title% "
  163.  
  164.  
  165.  :: ---- begin ------- note a particular day in a particular year
  166.  :: This technique is useful for noting special events:
  167.  :: 21st birthdays, 50th wedding anniversaries, etc.
  168.  
  169.  Fdate /Fe /J"L.50" /Vtitle  /P"500th anniversary of Columbus's discovery"
  170.  if (%year%)==(1992) Fdate /Ff /A10-12-%year% /P"%title% "
  171.  :: ----   end -------- note a particular day in a particular year
  172.  
  173.  Fdate /Fe /J"L.50" /Vtitle        /P"Columbus Day (observed)"
  174.  Fdate /Fw /D2 /N2  /A10-01-%year% /P"%title% "
  175.  
  176.  Fdate /Fe /J"L.50" /Vtitle        /P"Thanksgiving Day (Canada)"
  177.  Fdate /Fw /D2 /N2  /A10-01-%year% /P"%title% "
  178.  
  179.  Fdate /Fe /J"L.50" /Vtitle        /P"Veteran's Day"
  180.  Fdate /Ff          /A11-11-%year% /P"%title% "
  181.  
  182.  :: Fourth Thursday in November
  183.  Fdate /Fe /J"L.50" /Vtitle        /P"Thanksgiving Day (USA)"
  184.  Fdate /Fw /D5 /N4  /A11-01-%year% /P"%title% "
  185.  
  186.  
  187.  Fdate /Fe /J"L.50" /Vtitle        /P"First Sunday in Advent"
  188.  Fdate /Fw /D1 /N-4 /A12-24-%year% /P"%title% "
  189.  
  190.  Fdate /Fe /J"L.50" /Vtitle        /P"Christmas"
  191.  Fdate /Ff          /A12-25-%year% /P"%title% "
  192.  
  193.  Fdate /Fe /J"L.50" /Vtitle        /P"New Year's Day"
  194.  Fdate /fadd /N1    /A12-31-%year% /P"%title% "
  195.  
  196.  echo ───────────────────────────────────────────────────────────────────────────────
  197.  :endit
  198.  set year=
  199.  set fdate=
  200.  set easter=
  201.  set title=
  202.  set LY=
  203.